Dynamic web portal page

ABSTRACT

A method for providing a dynamic web portal page in a web portal environment by modifying the web portal page, the method comprising, with a server, providing a content with one or more portlets of the web portal page to a user; entering code from the server for identifying user-interface elements in the content of the web portal page; entering code from the server into the provided content of the web portal page for monitoring user actions related to the identified user-interface elements in the content of the web portal page; re-configuring automatically the content of the web portal page according to a user-specific preference extracted from the monitored user actions for the user at a later stage.

RELATED APPLICATION

Pursuant to 35 U.S.C. §119(b) and 37 C.F.R. §1.55(a), the presentapplication corresponds to and claims the priority of European PatentApplication No. 09174794.9 filed on Nov. 2, 2009, the disclosure ofwhich is incorporated herein by the reference in its entirety.

BACKGROUND

The present application relates to the field of network computing and inparticular to a method and system for designing a web portal orenterprise portal including a hierarchical structure of portal pages andportlets for accessing web content or enterprise content accessible viathe web portal.

Web portals help to present to all users in a unified way a diverseamount of information on one web page. Typical web portals offer avariety of services such as, for example, e-mail, news, stock prices,weather, and entertainment, among others. Web portals, therefore offer asingle web page that a user can access and thereby acquire a largeamount of services and information in one place. A web portal istypically separated into web modules called portlets that separatesections of the web portal; each portlet representing at least one ofthe services or sources of information mentioned above. It is theseportlets that the user or viewer of the web portal sees as blocks orsections within the web portal.

BRIEF SUMMARY

The present application discloses a method for providing a dynamic webportal page in a web portal environment by modifying the web portalpage. The web portal page corresponds to a predetermined level in anavigation topology. The method includes, with a server, providingcontent with at least one portlet of the web portal page to a user. Acode is entered from the server into the provided content of the webportal page for identifying user-interface elements in the content ofthe web portal page. Further code is entered from the server into theprovided content of the web portal page for monitoring user actionsrelated to the identified user-interface elements in the content of theweb portal page. The content of the web portal page is re-configuredautomatically according to a user-specific preference extracted from themonitored user actions for the user at a later stage.

The present application further discloses a computer program product forproviding a dynamic web portal page in a web portal environment, thecomputer program product includes a computer readable storage mediumhaving computer readable program code embodied therewith. The computerreadable program code may comprise computer readable program codeconfigured to provide, via a server, a content with one or more portletsof the web portal page to a user; computer readable program codeconfigured to enter code from the server for identifying user-interfaceelements in the content of the web portal page; computer readableprogram code configured to enter code from the server into the providedcontent of the web portal page for monitoring user actions related tothe identified user-interface elements in the content of the web portalpage; and computer readable program code configured to automaticallyre-configure the content of the web portal page according to auser-specific preference extracted from the monitored user actions forthe user at a later stage.

The present application further discloses a system for providing adynamic web portal page in a web portal environment by modifying the webportal page. The system may comprise a server configured to provide acontent with at least one portlet of the web portal page to a user, inwhich the server enters code into the provided content of the web portalpage for identifying user-interface elements in the content of the webportal page, in which the server enters code into the provided contentof the web portal page for monitoring user actions related to theidentified user-interface elements in the content of the web portalpage; and in which the server re-configures automatically the content ofthe web portal page according to a user-specific preference extractedfrom the monitored user actions for the user at a later stage.

The present application further discloses a computer program product forproviding a dynamic web portal page in a web portal environment, thecomputer program product comprising a computer readable storage mediumhaving computer readable program code embodied therewith. The computerreadable program code may comprise computer readable program codeconfigured to provide, via a server, a content with one or more portletsof the web portal page to a user; computer readable program codeconfigured to enter code from the server for identifying user-interfaceelements in the content of the web portal page; computer readableprogram code configured to enter code from the server into the providedcontent of the web portal page for monitoring user actions related tothe identified user-interface elements in the content of the web portalpage; and computer readable program code configured to automaticallyre-configure the content of the web portal page according to auser-specific preference extracted from the monitored user actions forthe user at a later stage. The computer readable program code mayfurther comprise computer readable program code configured to select andassociate one or more variants of content of the web portal page for aspecific user, in which the computer readable program code configured toselect and associate one or more variants of content of the web portalpage for a specific user further comprises computer readable programcode configured to select the most successful variant of contentpermanently and disposing less successful variants; computer readableprogram code configured to associate a duration of viewing a portlet bythe user to presenting of a specific portlet to the user; computerreadable program code configured to associate a layout of the content toa specific user; computer readable program code configured to generateone or more tasks in a workflow process for human interaction, orcombinations thereof.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying drawings illustrate various embodiments of theprinciples described herein and are a part of the specification. Theillustrated embodiments are merely examples and do not limit the scopeof the claims.

FIG. 1 is an illustrative portal server system, according to oneembodiment of the prior art.

FIG. 2 is an example of a content of a web portal page with a variant ofportlets, according to one illustrative example of principles describedherein.

FIG. 3 is an analytic feedback loop comprising a web portal server, aclient, and a site-analytic service, according to one illustrativeexample of principles described herein.

FIG. 4 is an aggregation script, according to one illustrative exampleof principles described herein.

FIG. 5 is a web portal server according to one illustrative example ofprinciples described herein.

FIG. 6 is a metrics engine in the web portal server shown in FIG. 5,according to one illustrative example of principles described herein.

Throughout the drawings, identical reference numbers designate similar,but not necessarily identical, elements.

DETAILED DESCRIPTION

The present specification discloses a method, system and computerprogram product for providing a dynamic web portal page in a web portalenvironment by modifying the web portal page. The web portal pagecorresponds to a predetermined level in a navigation topology, and theweb portal page displays a multitude of portlets.

Aspects of the present invention may be embodied as a system, method orcomputer program product. Accordingly, aspects of the present inventionmay take the form of an entirely hardware embodiment, an entirelysoftware embodiment (including firmware, resident software, micro-code,among others) or an embodiment combining software and hardware aspectsthat may all generally be referred to herein as a “circuit,” “module” or“system.” Furthermore, aspects of the present invention may take theform of a computer program product embodied in one or more computerreadable medium or mediums having computer readable program codeembodied thereon.

Any combination of one or more computer readable medium or mediums maybe utilized. The computer readable medium may be a computer readablesignal medium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations of the presentinvention may be written in an object oriented programming language suchas Java, Smalltalk, C++ or the like. However, the computer program codefor carrying out operations of the present invention may also be writtenin conventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

The present invention is described below with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the invention. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

In the following description and in the appended claims, the term“flavor” is meant to be understood broadly as a user specificpreference. For example, a flavor may specifically be variants of a webpage portal with alternative user experience content or slightlymodified content; a modified version of the default navigation treepresented in the web portal page (200) where the modification can be adifferent structure, different portlets or different metadata; or acomplete new navigation model besides the current default navigationtree. Additionally, in the following description and in the appendedclaims, the term “user interface element” or “UI element” is meant to beunderstood broadly as any element in the web portal page where the usercan give an input, can click on or interact in another way.

Still further, in the following description and in the appended claims,the term “theme” is meant to be understood as a decoration of a web pagesuch as, for example, the color of the page, the structure of the page,the appearance of the page, amongst others. Similarly the term “skin” inthe present description and in the appended claims is meant to beunderstood as a decoration of a portlet such as, for example, the colorof the portlet, the structure of the portlet, the appearance of theportlet, amongst others.

Further, in the following description and in the appended claims, theterm user-interface element is meant to be understood broadly as anyelement in a web portal page or portlet of a web portal page where auser can give an input, can click on, or otherwise interact with the webpage portal.

FIG. 1 depicts a general portal server system that gives a schematicsystem view of a portal server implementing a web portal, such as, forexample, a WEBSPHERE PORTAL® by International Business Machines (IBM) ora JETSPEED2 ENTERPRISE PORTAL by Apache Software Foundation(http://portals.apache.org/jetspeed-2/). Such a web portal may includecomplex functionality implemented on a network server, for example on aweb server (100), significant elements of which are logic components foruser authentication (105), state handling (110), aggregation (115) offragments, a plurality of portlets (120) provided in respective pages(125) with a respective plurality of application programming interface(API) (130) to a respective portlet container software (135) for settingthem into the common web page context, and some portal storage resources(140). The logic components of FIG. 1 are operatively connected suchthat data can be exchanged between single components as required. Thisis roughly depicted in FIG. 1.

In more detail, a portal engine of the web server (100) in FIG. 1implements an aggregation of portlets (120) based on the underlyingportal model (150) and portal information such as security settings,user roles, customization settings, and device capabilities. Within therendered page, the portal automatically generates the appropriate set ofnavigation elements based on the portal model (150). The portal engineinvokes portlets (120) during the aggregation as required and whenrequired and may additionally use caching to reduce the number ofrequests made to the portlets (120). For example, the WEBSPHERE PORTAL®by International Business Machines (IBM) employs open standards such asthe JAVA PORTLET API (application programming interface)® by SunMicrosystems, Incorporated. It also supports the use of a remote portlet(120) via the web services for remote portlets (WSRP) standard.

The portlet container (135) is a single control component competent forall portlets (120) that may control the execution of code residing ineach of these portlets (120). It provides the runtime environment forthe portlets (120) and facilities for event handling, inter-portlet(120) messaging, and access to portlet (120) instance and configurationdata, among others.

The portal resources (140) are in particular the portlets (120)themselves and the pages (125), on which they are aggregated in the formof an aggregation of fragments. A portal database (128) stores thedescription of the portlets (120) featuring some attributes like portletname, portlet description, portlet title, portlet short title, andkeywords; and the portlet interaction interface description which isoften stored in the form of web service description language (WSDL)documents. The portal database (128) also stores the portal contentstructure, for example, the hierarchical structure of portal pages whichmay again contain nested pages and portlets. This data is stored in thedatabase (128) in an adequate representation based on conventionaltechniques such as relational tables.

The before-mentioned aggregation logic (115) includes all steps that arerequired to assemble a web page. Typically, these steps include loadinga content structure from storage, traversing it, and calling theinstances referenced in the structure in order to obtain their outputwhich is assembled to a single page. The content structure may bedefined through, for example, portlet customization by theadministrator.

When web applications are visited by a web user, a navigation menu thatprovides some means to access underlying content is usually displayed toa user. A navigation menu is usually structured in a tree-like topology,and web users are forced to traverse the tree in order to reach a nodematching the content the user is interested in. Specifically, webportals are equipped with such navigation menus that are used tonavigate through all of the contents the web portal provides.

However, not every user is interested in the same content, and,therefore, the structure that is provided on any given portal maysatisfy the needs of only a certain user group. For many individualusers, however, the given topology does not satisfy their needs.

FIG. 2 illustrates, in a simplified form, an example of content of a webportal page (200) with a variant (V1) of portlets (P1, P2, P3, P4, P5)presented to a user. The portlets (P1, P2, P3, P4, P5) may, by way ofexample, be arranged at locations (211, 212, 213, 214, 215) of the webportal page (200).

An example embodiment of an analytic feedback loop comprising a webportal server (300), a client (210) displaying portal content of a webportal page (200) and a site-analytic service (400) is illustrated inFIG. 3. The portal content is expressed in different flavors, that arevariants of the web portal page with alternative user experience contentor slightly modified content. Different users may get exposed todifferent flavors. A flavor is to be understood as either (1) a modifiedversion of the default navigation tree presented in the web portal page(200) where the modification can be a different structure, differentportlets or different metadata, or (2) a complete new navigation modelbesides the current default navigation tree.

The web portal page (200) is modified so that a multitude of variants(V1, V2, V3) are presented to different users. According to oneillustrative example, the variants (V1, V2, V3) of the web portal page(200) are equipped with a right set of infrastructure for web portalpage analysis. For this purpose, a portal aggregation on the server sideinjects code into a produced variant (V1, V2, V3) of the web portal page(200), which can be used to identify and/or reference any relevantuser-interface element (UI element). In a simple embodiment, anidentifier is attached to each of the user-interface elements (UIelements). A user-interface element (UI element) is to be understood asan element in the web portal page where the user can give an input,click on an available option or interact in another way. Anadministration portlet could expose a user interface that allows theselection pages and user-interface elements (UI elements) within pagesthat would be of relevance.

The portal aggregation may also inject code that identifies the pageelements that are subject to user actions, for example, user behavior.This code may be collected and aggregated by an analytics aggregator.The purpose of the analytics aggregator is to collect data about whichuser-interface elements (UI elements) are present on the page. Afterappropriated analysis, this may allow the tracking of a list of useractions or activities. This may be done by monitoring how often or howlong one of the user-interface elements (UI elements) is viewed.

Once the web portal page (200) (or its variants (V1, V2, V3)) is closed,the list of user actions may be transferred directly to the configuresite-analytics provider (400) via an output (216) of the client (210).The data and amount of evaluation may depend on the chosensite-analytics provider.

By way of example, an analysis of aggregated user actions may beperformed on an analytics server (402) comprising analytics software(404) such as GOOGLE ANALYTICS® by Google Incorporated. The results maybe returned to the web portal server (300) as a report to an input (322)of the web portal server (300). The web portal server (300) is takingaction on the results to adapt the current user experience and apply thefeedback retrieved from the analysis.

In a detailed scenario the browser client (210) requests a portal page(200) as indicated by a line (312). The web portal server (300) returnsa web portal page markup as indicated by a line (314) including metadatamarkup (in a custom micro-format) in form of a variant (V1, V2, V3)based on user attributes (302), decisions (304) and a rule engine (306)which are coupled to the server (300) or part of the web portal server(300). The browser client (210) aggregates metadata using theaggregator. Upon closure of the web portal page (200) the browser client(210) sends the collected information on the user actions on the webportal page (or one of its variants (V1, V2, V3)) to an analytics server(402) via, for example, HTTP GET. The site-analytics server (402) writesa report (406), for example, an access log. An analytics softwarepackage (404) analyzes the report (406) and sends it back to the webportal server (300).

There are different options available on how the web portal server (300)may take action on the results to adapt the current user experience andapply the feedback retrieved from the analysis. By way of example, as afirst option, if in the analysis of the site-analytic service one of theflavors has proved to be most successful, for example a“purchase”-option has been chosen most often or, in the alternative,most quickly, the most successful flavor can be selected permanently andthe other variants can be disposed. Alternatively, user characteristicsor attributes can be considered and the user actions analyzed takinginto account the user characteristics or attributes. As a result,specific flavors can be selected for specific user characteristics orattributes.

As a second option, portal personalization (310), such as userattributes (302), decisions (304), and rules engine (306), may havealready defined rules taking into account parameters filled in by theanalytics data from the report (406). For instance, if a viewingduration is long, a portlet may be presented with advertisinginformation. Alternatively or additionally, if the viewing duration isshort, a news ticker may be presented on the web portal page (200).Alternatively or additionally, the most frequently viewed portlets mayalways show on a main page of the web portal page (200).

As a third option, new personalization rules can be createdautomatically. For example, if the view duration is short for a specificuser, the specific page may not be presented for that user again.

Still another option is that the general portal site layout can bemanipulated, for example, by generating suitable scripts such asXMLACCESS® XML scripts International Business Machines (IBM), whichplace the most frequently viewed pages to “myFavorites” or otherconvenient places.

A further option may be generating tasks in a workflow process which askfor human interaction of a portal designer. The task may be viewed in atask portlet, such as, for example, those provided by WEBSPHERE PORTAL®by International Business Machines (IBM). The above described optionsmay be selected as single options or may be selected as a combination oftwo or more options.

FIG. 4 displays an example of an aggregation script in a micro-format(332) for four portlets (P1, P2, P3, P4) injected in the web portletpage (200) for monitoring the user actions on the web portal page (200)with a custom-provided aggregator (330). Additionally, FIG. 5 displaysan example of the web portal server (300) displayed in FIG. 4 to whichis coupled an engine (330) for building a model based on a flavor filteras well as a metrics engine (350) and a repository (340) for variants ofcontents of the web portal page (200). The engine (330) sendsinformation, as indicated by a line (332), to the metrics engine (350)for determining the flavor for the requested page and receives a flavorfilter, as indicated by line (334), from the metrics engine (350). Themetrics engine (350) provides the flavor filter based on flavorconfiguration from the repository (340).

The flavor filter selects one out of many different flavors orvariations of a particular website. The selected flavor may be used asthe flavor of a given page which may also be used and sent to a user.The choice of a flavor can be tailored by configuration, for example, byreserving a set of flavors for a particular user group only.

FIG. 6 illustrates details of an illustrative example of the metricsengine (350) shown in FIG. 5. The metrics engine (350) may comprise aflavor detector (352), a behavior recorder (354) coupled to the flavordetector (352), a flavor manger (358) also coupled to the flavordetector (352) and, a flavor associator (356) coupled to both the flavordetector (352) and the flavor manager (358). The flavor manager (358) iscoupled to the repository (340) and can store or retrieve flavorconfigurations therefrom.

When the engine (FIG. 5, 330) requests a flavor, as indicated by a line(332), the flavor detector (352) requests a flavor from the flavormanager (358) in case a flavor is already associated with a particularuser, and the requested flavor is returned from the flavor manager (358)to the flavor detector (352).

The flavor detector (352) identifies the flavor that has been associatedwith a particular user. To avoid confusion each user may continuouslysee the same flavor. This association is done with the flavorassociation component, the flavor associator (356). Different flavorsare managed by the flavor manager 358.

In case a flavor has not yet been associated with a particular user, theflavor detector requests a flavor for a current user from the flavorassociator (356). The request is submitted together with information forthe current user received from the behavior recorder (354). The flavorassociator (356) requests a flavor object from the flavor manager (358)and returns the requested flavor to the flavor detector (352). As aresult, the flavor detector (352) returns the requested flavor, asindicated by a line (334), to the engine (FIG. 5, 330).

A data processing system, for example web portal server 300, asschematically depicted in FIGS. 3 to 6 suitable for storing and/orexecuting program code may include at least one processor coupleddirectly or indirectly to memory elements through a system bus. Thememory elements can include local memory employed during actualexecution of the program code, bulk storage, and cache memories thatprovide temporary storage of at least some program code in order toreduce the number of times code must be retrieved from bulk storageduring execution.

Input/output or I/O-devices including, but not limited to, keyboards,displays, pointing devices, among others can be coupled to the system(300) either directly of through intervening I/O controllers. Networkadapters may also be coupled to the system (300) to enable the dataprocessing system, remote printers, or storage devices throughintervening private or public networks. Modems, cable modem and ethernetcards are just a few of the currently available types of networkadapters.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

Having thus described the invention of the present application in detailand by reference to embodiments thereof, it will be apparent thatmodifications and variations are possible without departing from thescope of the invention defined in the appended claims.

1. A method for providing a dynamic web portal page in a web portalenvironment by modifying the web portal page, the method comprising:with a server, providing content with at least one portlet of the webportal page to a user; entering code from the server into the providedcontent of the web portal page for identifying user-interface elementsin the content of the web portal page; entering code from the serverinto the provided content of the web portal page for monitoring useractions related to the identified user-interface elements in the contentof the web portal page; re-configuring automatically the content of theweb portal page according to a user-specific preference extracted fromthe monitored user actions for the user at a later stage; wherein theweb portal page corresponds to a predetermined level in a navigationtopology.
 2. The method of claim 1, further comprising providing anoutput for the monitored user actions on the web portal page foranalyzing the user actions.
 3. The method of claim 1, further comprisingproviding an input for a report on the monitored user actions on the webportal page.
 4. The method of claim 1, further comprising providingvariants of the portal content for different users.
 5. The method ofclaim 4, further comprising evaluating existing variants of contents forre-configuring automatically the content of the web portal page.
 6. Themethod of claim 4, further comprising generating and maintaining arepository of variants of contents of the web portal page.
 7. The methodof claim 6, further comprising selecting and associating one or morevariants of contents in the repository for a specific user.
 8. Themethod of claim 7, in which selecting and associating one or morevariants of contents in the repository for a specific user comprises:selecting the most successful variant of content permanently anddisposing less successful variants; associating a duration of viewing aportlet by the user to presenting of a specific portlet to the user;associating a layout of the content to a specific user; and generatingone or more tasks in a workflow process for human interaction.
 9. Themethod of claim 1, further comprising generating a report on the useractions associated with the web portal page for capturing theuser-specific preference.
 10. The method of claim 1, wherein enteringcode from the server into the provided content of the web portal pageand re-configuring automatically the content of the web portal page isperformed at each log-on of the user.
 11. A computer program product forproviding a dynamic web portal page in a web portal environment, thecomputer program product comprising: a computer readable storage mediumhaving computer readable program code embodied therewith, the computerreadable program code comprising: computer readable program codeconfigured to provide, via a server, a content with one or more portletsof the web portal page to a user; computer readable program codeconfigured to enter code from the server for identifying user-interfaceelements in the content of the web portal page; computer readableprogram code configured to enter code from the server into the providedcontent of the web portal page for monitoring user actions related tothe identified user-interface elements in the content of the web portalpage; and computer readable program code configured to automaticallyre-configure the content of the web portal page according to auser-specific preference extracted from the monitored user actions forthe user at a later stage.
 12. The computer program product of claim 11,further comprising computer readable program code configured to providevariants of the portal content for different users.
 13. The computerprogram product of claim 12, further comprising computer readableprogram code configured to evaluate existing variants of contents forre-configuring automatically the content of the web portal page.
 14. Thecomputer program product of claim 12, further comprising computerreadable program code configured to generate and maintain a repositoryof variants of contents of the web portal page.
 15. The computer programproduct of claim 14, further comprising computer readable program codeconfigured to select and associate one or more variants of contents inthe repository for a specific user.
 16. The computer program product ofclaim 15, in which the computer readable program code configured toselect and associate one or more variants of contents in the repositoryfor a specific user further comprises: computer readable program codeconfigured to select the most successful variant of content permanentlyand disposing less successful variants; computer readable program codeconfigured to associate a duration of viewing a portlet by the user topresenting of a specific portlet to the user; computer readable programcode configured to associate a layout of the content to a specific user;and computer readable program code configured to generate one or moretasks in a workflow process for human interaction.
 17. The programproduct of claim 11, further comprising computer readable program codeconfigured to generate a report on the user actions associated with theweb portal page for capturing the user-specific preference.
 18. A systemfor providing a dynamic web portal page in a web portal environment bymodifying the web portal page, the system comprising: a serverconfigured to provide a content with at least one portlet of the webportal page to a user; in which the server enters code into the providedcontent of the web portal page for identifying user-interface elementsin the content of the web portal page; in which the server enters codeinto the provided content of the web portal page for monitoring useractions related to the identified user-interface elements in the contentof the web portal page; and in which the server re-configuresautomatically the content of the web portal page according to auser-specific preference extracted from the monitored user actions forthe user at a later stage.
 19. The system of claim 18, furthercomprising a browser client configured to provide an output for themonitored user actions on the web portal page for analyzing the useractions on a site-analytic service.
 20. The system of claim 18, furthercomprising a site-analytic service configured to provide a report on themonitored user actions on the web portal page.
 21. The system of claim20, in which the server provides variants of the portal content fordifferent users.
 22. The system of claim 21, further comprising arepository configured to maintain variants of contents of the web portalpage.
 23. The system of claim 22, in which the server further selectsand associates one or more variants of contents in the repository for aspecific user.
 24. The system of claim 23, in which selecting andassociating one or more variants of contents in the repository for aspecific user comprises: selecting the most successful variant ofcontent permanently and disposing less successful variants; associatinga duration of viewing a portlet by the user to presenting of a specificportlet to the user; associating a layout of the content to a specificuser; and generating one or more tasks in a workflow process for humaninteraction.
 25. A computer program product for providing a dynamic webportal page in a web portal environment, the computer program productcomprising: a computer readable storage medium having computer readableprogram code embodied therewith, the computer readable program codecomprising: computer readable program code configured to provide, via aserver, a content with one or more portlets of the web portal page to auser; computer readable program code configured to enter code from theserver for identifying user-interface elements in the content of the webportal page; computer readable program code configured to enter codefrom the server into the provided content of the web portal page formonitoring user actions related to the identified user-interfaceelements in the content of the web portal page; computer readableprogram code configured to automatically re-configure the content of theweb portal page according to a user-specific preference extracted fromthe monitored user actions for the user at a later stage; computerreadable program code configured to select and associate one or morevariants of content of the web portal page for a specific user; in whichthe computer readable program code configured to select and associateone or more variants of content of the web portal page for a specificuser further comprises: computer readable program code configured toselect the most successful variant of content permanently and disposingless successful variants; computer readable program code configured toassociate a duration of viewing a portlet by the user to presenting of aspecific portlet to the user; computer readable program code configuredto associate a layout of the content to a specific user; and computerreadable program code configured to generate one or more tasks in aworkflow process for human interaction.